1. Field of the Invention
The present invention relates to databases, and more specifically to software, systems, and methods for improving the accessibility of databases.
2. Description of Related Art
Databases, including relational databases in which data is stored in a plurality of interrelated tables, are one of the cornerstones of information technology. A relational database is composed of a number of interrelated tables. A relational database is characterized by a schema, which is a set of interrelationships between its component tables. The dominant standard for database querying languages is the Structured Query Language (SQL). The Data Manipulation Language (DML) component of SQL includes the following query language commands: SELECT, UPDATE, INSERT, and DELETE. These core commands which appear in numerous variations are used to specify how data in an SQL relational database is to be manipulated.
Sequences of SQL commands can be arranged in SQL scripts and processed by an SQL database application. As an alternative to SQL scripts, some database applications provide an Application Program Interface (API) that allows an external program to issue an SQL query to the database application. The external applications can include the SQL query within its compiled code. The drawback of including SQL queries in compiled code is that programming skill and time are required to make any needed modifications. Certain new programming technologies such as the Java Database Connectivity (JDBC) package for Java (by Sun Microsystems of Palo Alto, Calif.) allow an SQL query that is stored as a string to be passed to a database application for execution, and for results to be returned for processing by a Java program.
An SQL query can be quite complicated, involving a number of command tokens, and a number of arguments interspersed between the command tokens. Moreover, a process of extracting data from a database often involves a series of interrelated queries. When making changes to complicated interrelated series of SQL queries, careful attention must be paid to the rules of syntax. The task of editing a large set of complicated interdependent SQL queries is time consuming and requires a high level of expertise.
One application of relational databases that often calls for the use of such a series of interrelated queries is data mining. A data mining application can be used to extract useful information from a very large amount of raw data. For example, a data mining application can be run on the large amount of data that is generated by computers monitoring operator assistance calls, in order to generate useful information such as call statistics.